home *** CD-ROM | disk | FTP | other *** search
/ MacWorld UK 2000 March / MW_UK_2000_03.iso / Shareware World / Utilities / Text Processing / Alpha / Tcl / Completions / Mod2Completions.tcl < prev    next >
Encoding:
Text File  |  1998-04-16  |  3.3 KB  |  65 lines  |  [TEXT/ALFA]

  1. ## (nowrap)
  2.  # This file will be sourced automatically, immediately after 
  3.  # the _first_ time the file which defines its mode is sourced.
  4.  # Use this file to declare completion items and procedures
  5.  # for this mode.
  6.  # 
  7.  # Some common defaults are included below.
  8.  ##
  9.  
  10. ## 
  11.  # These declare, in order, the names of the completion
  12.  # procedures for this mode.  The actual procedure
  13.  # must be named '${mode}Completion::${listItem}', unless
  14.  # the item is 'completion::*' in which case that actual
  15.  # procedure is called.  The procedure 'modeALike' will
  16.  # map modes to similar modes so procs don't need to be
  17.  # repeated.  However each mode requires its own array entry
  18.  # here.
  19.  ##
  20. set completions(Mod2) {completion::electric}
  21. # set completions(Mod2) {contraction completion::cmd Ensemble completion::electric Var}
  22.  
  23. # ◊◊◊◊ Data for Mod2 completions ◊◊◊◊ #
  24.  
  25. # cmds to be completed to full length (no need for short ones)
  26. # set Mod2cmds { class default enum register return struct switch typedef volatile while }
  27. # electrics
  28. # set Mod2electrics(for) " \{•start•\} \{•test•\} \{•increment•\} \{\r\t•body•\r\}\r••"
  29. # set Mod2electrics(while) " \{•test•\} \{\r\t•body•\r\}\r••"
  30. set Mod2electrics(bb) "◊kill0BEGIN"
  31. set Mod2electrics(eb) "◊kill0END "
  32. set Mod2electrics(bc) {◊kill0(* }
  33. set Mod2electrics(ec) {◊kill0*)}
  34. set Mod2electrics(cc) {◊kill0(*•comment•*)}
  35. set Mod2electrics(label)     "◊kill0LABEL •label-identifier•;••"
  36. set Mod2electrics(const)    "◊kill0CONST ••;••"
  37. set Mod2electrics(type)      "◊kill0TYPE ••;••"
  38. set Mod2electrics(var)       "◊kill0VAR ••;••"
  39. set Mod2electrics(record)    "◊kill0RECORD\r\t••\rEND;••"
  40. set Mod2electrics(BEGIN)     "\r\t••\rEND;••"
  41. set Mod2electrics(for)       "◊kill0FOR •• := •• TO •• DO\r\t••\rEND(*FOR*);••"
  42. set Mod2electrics(while)     "◊kill0WHILE (••) DO\r\t••\rEND(*WHILE*)••"
  43. set Mod2electrics(repeat)    "◊kill0REPEAT\r\t••\rUNTIL (••);••"
  44. set Mod2electrics(if)        "◊kill0IF (•cond•) THEN\r\t•true-clause•\rEND(*IF*)••"
  45. set Mod2electrics(elsif)    "◊kill0ELSIF (••)\r••"
  46. set Mod2electrics(else)      "◊kill0ELSE\r••"
  47. set Mod2electrics(case)      "◊kill0CASE  ••: •• OF\r|••:\t••;\rEND(*CASE*);••"
  48. set Mod2electrics(int)      "◊kill0INTEGER;"
  49. set Mod2electrics(card)      "◊kill0CARDINAL;"
  50. set Mod2electrics(from)      "◊kill0FROM •moduleName• IMPORT •procName(s)•"
  51.  
  52. # these should mimic their electricAlias counter parts
  53. set Mod2electrics(def)      {◊kill0◊[set eVar::temp [getline {definition name:} {}];return {}]DEFINITION MODULE [set eVar::temp]••;\r••\rBEGIN\r\t••\rEND [set eVar::temp].}
  54. set Mod2electrics(imp)      {◊kill0◊[set eVar::temp [getline {implementation name:} {}];return {}]IMPLEMENTATION MODULE [set eVar::temp]••;\r••\rBEGIN\r\t••\rEND [set eVar::temp].}
  55. set Mod2electrics(mod)      {◊kill0◊[set eVar::temp [getline {module name:} {}];return {}]MODULE [set eVar::temp];\r••\rBEGIN\r\t••\rEND [set eVar::temp].}
  56. set Mod2electrics(proc)      {◊kill0◊[set eVar::temp [getline {procedure name:} {}];return {}]PROCEDURE [set eVar::temp];\rVAR\r\t•argList• : •type•\rBEGIN\r\t••\rEND [set eVar::temp].}
  57. # proca is for a procedure with arguments
  58. set Mod2electrics(proca)      {◊kill0◊[set eVar::temp [getline {procedure name:} {}];return {}]PROCEDURE [set eVar::temp] (•argrumentsAndTypes•);\rVAR\r\t•argList• : •type•\rBEGIN\r\t••\rEND [set eVar::temp].}
  59.  
  60.  
  61. # contractions
  62. # set Mod2electrics(s'c) "◊»string compare"
  63. # set Mod2electrics(s'f) "◊»string first"
  64.